Overview
This dll contains the logic to connect to printers and formatting commands for labels. It is not typically used for receipt printing as this is done
directly by the host application, but it can be used for receipt printing in some configurations.
Command Line
This dll includes some maintainance functions that can be directly invoked from the command line for advanced users.
The command line option first requires the printer() command to specify which printer is to be used. The name of the Windows print
queue or the Fieldpine specification names should be used here. For POS Users, these values are the same as the setting ItemLabelPrinter
Optional commands
density(N)
Sets the density of the printer, controlling how black it should be. The value of N must be within the acceptable range for the printer.
For Zebra printers the range is 0-15, where 0 is lightest and 15 is darkest. Speed and density work together to affect output quality.
Refer to your printer manuals for the acceptable range for different models.
speed(N)
Defines the print speed. Using a slower speed typically results in higher quality output so this is a trade off of speed vs quality.
You must select a print speed that is within the range of your printer model. Please see your printer reference manuals if it is not listed below.
Model | Value | Description |
Zebra GK420 | 2 | 50mm/sec (2.0 ips) |
3 | 75mm/sec (3.0 ips) |
4 | 100mm/sec (4.0 ips) |
5 | 125mm/sec (5.0 ips) |
Zebra 2824 Zebra 2844 | 1 | 37mm/sec (1.5 ips) |
2 | 50mm/sec (2.0 ips) |
3 | 63mm/sec (2.5 ips) |
4 | 87mm/sec (3.5 ips) |
Example 1. Setting Density=12 on a printer connected via a Windows Print Queue
rundll32 fpprinters.dll,ControlAPI printer(MyLabels) density(12)
Example 2. Setting Density=13 and Print Speed=2 on a network connected printer.
rundll32 fpprinters.dll,ControlAPI printer(fdl(ip(192.168.168.201) port(9100))) speed(2) density(13)
Density and Speed Effects
The following image shows the same label printed at different speed and density settings on a Zebra GC420d printer using Jewelry butterfly labels
Click here for a higher resolution image (Warning: 13Mb 4128x2322 pixels) Make sure to use "Actual size" when viewing to see differences in quality
|
| Density=12 Speed=5 (dark and fast) |
| Density=12 Speed=2 (dark and slow) |
| Density=8 Speed=2 (normal and slow) |
| Density=8 Speed=3 |
| Density=8 Speed=4 |
| Density=8 Speed=5 (normal and fast) |
Update History
P1.4.2.30
Implement debug=N in the CTL file to allow tracing
P1.4.2.29
For format 14, always print the product id as the barcode
P1.4.2.28
Allow positioning offsets for formats 14 and 15 also
P1.4.2.27
Added command line options to set density and speed into printers
P1.4.2.26
Minor changes to positioning on jewelry labels.
Each lane is able to provide a control file called fpprinters.ctl to provide fine level
positioning control. This permits overrides of standard positioning to cater for minor
variations that occur between media and printers.
Example File
; Adjustments are in printer units, which is typically 8 per mm.
; ie. 8=1mm offset, 24=3mm offset
; offsets can be negative to go left of up, positive is right or down
topoffset.jewel=12
leftoffset.jewel=26
barcodetopoffset.jewel=-10
barcodeleftoffset.jewel=8
setq.jewel=96
; Define positioning offsets for label format#14
topoffset.14=12
leftoffset.14=-8
barcodetopoffset.14=-20
; set debug logging 1=input args, 2=printer commands, 3=both 1 and 2
debug=1
The symbols provide offsets to the top and left of bounding boxes into which values
are drawn. The values are in device units, so for Zebra printers a value of 8 typically
implies about 1mm distance. The origin for positioning is top left, so a negative value moves
further left or higher up, while positive values move right and down.
The setq symbols allows you to specify the exact "Q-length". You should avoid using this
symbol if possible.
Debug Logging
If the setting debug=N is defined in the control file a log may be appended too. The output
file name is in the current users directory and called fpprinter_log_YYYY_MMM.txt
Example log file entry:
PrintStdProduct 11/06/2015 10:04:34
Control: Size=0 Name=GC420d Srcuid=0 Mode2=00000000 QueueConnect= QCLong=0
Product: size=372 Format=4 ExCopies=0
StoreName=
Description=Lip Shiner Duo-Perfect
Plu=AB301
Pid=30012
Barcode=9400550649932 Symbology=0
Price=17.95
Printer Data:
N
Q160
q272
A26,116,0,2,1,1,N,"Lip Shiner"
A26,134,0,2,1,1,N,"Duo-Perfect"
A26,157,0,3,1,1,N,"30012"
A141,157,0,3,1,1,N,"$17.95"
B31,187,0,3,2,4,60,N,"30012"
P1